<?php
/**
 * Interface for lab module deal with inpatient and outpatient.
 * @package include
 * @author viethd
 * @version $Id$
 * @copyright 2009 LHV Company
 */
interface ILabConnector {
	/**
	 * Action be called after an assignment is deleted.
	 * @param $ticketId
	 * @param $labAssignmentTicketId
	 * @return unknown_type
	 */
	function doAfterAssignmentDeleted($ticketId, $labAssignmentTicketId);
	/**
	 * Action be called after an assignment is created.
	 * @param $ticketId
	 * @param $labAssignmentTicketId
	 * @param $data   =   array('date','item_id', 'enum_item_type',
	 'original_price','insurance_price','patient_price','ticket_id'
	 );
	 * @return unknown_type
	 */
	function doAfterAssignmentCreated($ticketId, $labAssignmentTicketId, $data = array());
	/**
	 * Action be called after an assignment is finished.
	 * @param $ticketId
	 * @param $labAssignmentTicketId
	 * @param $data   =   array('original_price', 'insurance_price', 'patient_price');
	 * @return unknown_type
	 */
	function doAfterAssignmentFinished($ticketId, $labAssignmentTicketId, $data = array());

	function doWhileAssignmentProcessing($ticketId, $labAssignmentTicketId);
	function doAfterAssignmentCanceled($ticketId, $labAssignmentTicketId);

}
?>